#pragma once

#include <iostream>
#include <sstream>
#include <string>

#include "Area.h"
#include "Ruta.h"
#include "Transporte.h"

using namespace std;

//Clase que contiene la informacion de cada envio
class Envios
{

private:
    string numID;
    string Descripcion;
    float peso;
    char seguridad;
    float impuestos;// en porcentajes como 0.10 = 10%
    string cliente;
    Area* area;         //Contiene la informacion del area de cada envio

public:
    Envios(string numID, string Descripcion,float peso, char seguridad, float impuestos, string cliente);
    Envios(string numID, string Descripcion,float peso, char seguridad, float impuestos, string cliente, Area*);
    Envios();
    ~Envios();
    void setCliente(string);
    string getCliente();
    Area* getArea();
    void setArea(Area *obj);
    string getNumID();
    void setNumID(string val);
    string getDescripcion();
    void setDescripcion(string val);
    float getPeso();
    void setPeso(float val);
    char getSeguridad();
    void setSeguridad(char val);
    float getImpuestos();
    void setImpuestos(float val);
    string toString();
    void generarEnvio(string numID, string Descripcion, float peso, char seguridad, float impuestos, string clie);
    void rutaEnvio();
    void mostrarEnvio();            //Muestra el la informacion completa del envio con su ruta
    float costoEnvio();             //Devuelve el costo del envio sin la parte de seguridad

};
